/**   
* @Title: PictureService.java 
* @Package com.wtl.util 
* @Description: TODO(用一句话描述该文件做什么) 
* @author Administrator   
* @date 2015年8月26日 下午3:10:52 
* @version V1.0   
*/
package com.xesj.util;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.net.URLDecoder;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.ResourceBundle;

import javax.servlet.ServletContext;

import org.apache.log4j.Logger;

/** 
 * @ClassName: PictureService 
 * @Description: 图片处理实现类 
 * @author Wei Jili
 * @date 2015年8月26日 下午3:10:52 
 *  
 */
public class PictureService {
	static Logger _logger = Logger.getLogger("ACTION");
	
	/**
     * 
    * @Title: writeImageAndGetImageName
    * @Description: 将图片写到项目路径中，并返回文件名称
    * @param @param imageData 文件数据
    * @param @return    设定文件
    * @return String    返回类型
    * @throws
     */
    public String writeImageAndGetImageName(String imageData,String oid) {
        if ("".equals(imageData) || imageData == null) {
            return "";
        }
        int errCount = 0;
//        ResourceBundle resourcebundle = ResourceBundle.getBundle("emesshop_path");resourcebundle.getString("path")
        // 项目路径
//        String home = "E:/eclipse9/storemanagersys/";
        // 图片路径
//        HashMap _config = new HashMap();
//        E:/eclipse9/storemanagersys/upload/img/
        String path = MainLocation.readlocation("imgurl").toString();
//        String path = "E:/eclipse9/storemanagersys/upload/img/";
//        String strull = System.getProperty("user.dir");
//        System.out.println("strull:"+strull);
//        String strull1 = getClass().getResource("/").getFile().toString();
//        System.out.println("strull1:"+strull1);
//        String strull2 = getClass().getResource(".").getFile().toString();
//        System.out.println("strull2:"+strull2);
        
//        String strull3 = getClass().getResource("").getFile().toString();
//        System.out.println("strull3:"+strull3);
//        String strull4 = getClass().getResource("../").getFile().toString();
//        System.out.println("strull4:"+strull4);
        
        
//        Class objClass = this.getClass(); 
//        String strRealPath  = objClass.getClassLoader().getResource("").getFile(); 
//        try {
//			strRealPath = URLDecoder.decode(strRealPath, "UTF-8");
//		} catch (UnsupportedEncodingException e1) {
//			// TODO Auto-generated catch block
//			e1.printStackTrace();
//		} 
//        File objFile = new File(strRealPath); 
//        strRealPath = objFile.getParent();
        
        
//        String strull5 = getClass().getFields().toString();
//        System.out.println(System.getProperty("user.dir"));
        // 图片名字+后缀名
        String imageName = System.currentTimeMillis() + ".jpg";
//        SimpleDateFormat dateFormater6 = new SimpleDateFormat("yyyyMMdd");
        String imagePath1 = oid+ "/";
//        String imagePath1 = "product/" + dateFormater6.format(new Date()) + "/";
        // 目录路径
        String filePath1 = (path + imagePath1).replace("/", "\\");
        // 图片全路径
        String imagePath2 = path + imagePath1 + imageName ;
        String filePath2 = (imagePath2).replace("/", "\\");
//        System.out.println(path + imagePath1);
//        System.out.println(imagePath2);
        // 将字节数组写成图片保存
        FileOutputStream write = null;
        
        try {
        	// 将字符串转化成字节数组
            byte[] imgData  = Base64.decode(imageData.getBytes());
            File f = new File(filePath1);
            if (!f.exists()) {
                f.mkdirs();
            }
            f = new File(filePath2);
//            System.out.println("正在创建新文件......");
//            f.createNewFile();
            write = new FileOutputStream(f);
            write.write(imgData);
//            System.out.println("写文件完成");
        } catch (IOException e) {
            errCount = 1;
            e.printStackTrace();
            _logger.error(new StringBuffer()
                    .append("MemberService.writeImageAndGetImageName(imageData) error:")
                    .append(e).toString());
        } finally {
            try {
                write.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        if (errCount != 0) {
            return "";
        }
//        System.out.println(imagePath1 + imageName);
        return (imagePath1 + imageName);
    }
}
